알고리즘 풀이 도움
11/14/2024
3차원 배열
3차원 배열은 세 개의 차원을 가진 데이터 구조이다. 이해하기 쉽게 실생활의 예를 들어본다.
아파트 구조로 생각하기
- 1차원 배열: 한 층의 각 호실
- 2차원 배열: 여러 층의 호실들
- 3차원 배열: 여러 동의 여러 층 호실들
let apartment = [
// 1동
[
[101, 102, 103], // 1층
[201, 202, 203], // 2층
[301, 302, 303] // 3층
],
// 2동
[
[101, 102, 103],
[201, 202, 203],
[301, 302, 303]
]
];
// 2동 3층 2호실에 접근하려면:
console.log(apartment[1][2][1]); // 302 출력
이 구조에서:
- 첫 번째 인덱스: 동
- 두 번째 인덱스: 층
- 세 번째 인덱스: 호실 을 나타낸다.
BFS(너비 우선 탐색) 알고리즘
BFS는 그래프나 트리 구조에서 데이터를 탐색하는 방법 중 하나이다.
쉬운 예: 소문 퍼뜨리기
- 당신이 소문을 알게 됐습니다.
- 먼저 당신의 친한 친구들에게 소문을 전합니다.
- 그 다음, 친구의 친구들에게 소문이 전해집니다.
- 이런 식으로 점점 더 멀리 소문이 퍼져 나간다.
BFS의 특징:
- 시작 지점에서 가까운 노드부터 차례대로 탐색한다.
- 큐(Queue)를 사용하여 구현한다.
- 최단 경로를 찾는 데 유용하다.
알고리즘 단계:
- 시작 노드를 큐에 넣는다.
- 쿠에서 노드를 꺼내고, 방문했다고 표시한다.
- 꺼낸 노드의 인접 노드 중 방문하지 않은 노드를 모두 큐에 넣는다.
- 큐가 빌 때까지 2-3 단계를 반복한다.
블로그 내 관련 문서
참고 자료
출처 :
- AI 선생님